Cygwin vs. Mingw Info
Frank, 4.1.2007

Sowohl Cygwin als auch Mingw/Msys erlauben es, Unix/POSIX-Programme
fr MS-Windows (2000,XP,2003,Vista) lauffhig zu machen.

Beide Lsungen sind Open-Source Freeware, also kostenlos und knnen
nach Belieben an eigene Bedrfnisse angepasst werden.
Der C-Sourcecode stammt zum groen Teil aus der in der Unix/Linux-Welt
sehr populren GNU-Sammlung, die alle Bausteine fr ein komplettes 
Betriebssystem liefert. So werden selbst kleine DSL-Router (FritzBox), 
Linux-Computer auf Server/Desktop und sogar Supercomputer damit betrieben
(BMW-Supercomputer und die meisten aus der Top500-Liste der Spitzenrechner
basieren auf GNU/Linux).

Cygwin stellt Windows einen groen Teil der Unix/POSIX-Funktionalitt
zur Verfgung, d.h. viele Unix-Programme wie die bash-shell, der
GCC-Compiler, Unix-Dateihierarchie (/bin /etc ...). Programme fr Cygwin
bentigen DLL wie cygwin1.dll, die z.B. eine Umsetzung der Unix-Pfadnamen
in Windows/DOS-Pfadnamen vornehmen. Die Unix-Kompatibilitt geht soweit,
dass sogar KDE fr Cygwin kompiliert wurde. Auch ein X-Windows Server ist
vorhanden. Die Installation ist mit der setup.exe relativ einfach.

http://cygwin.com/


Mingw/Msys ist die Minimal-Lsung mit bash, make und GCC-Compiler.
Es sind die wichtigsten Unix-Kommandos enthalten, um Programme
mit ./configure ; make  zu kompilieren (GNU Toolchain).
Ein Vorteil ist, dass keine Emulationslayer wie cygwin1.dll erforderlich
ist und die Programme direkt Windows-Funktionen aufrufen. Nur sind die
Programme weniger Unix-kompatibel und die Mingw-Versionen oft veraltet.
Auch die Installation gestaltet sich schwieriger (Mingw/MSYS-Aufteilung).
Mit "Xming" steht ein X-Windows Server zur Verfgung (den benutze
ich sogar fr Cygwin, weil er schneller startet als Cygwin-X).

http://www.mingw.org/


Zusammenfassend ist also schwer zu sagen, ob eine Lsung der anderen
berlegen ist. Ich selbst habe beide installiert und nutze berwiegend Cygwin.
Insbesondere die guten mathematisch-wissenschaftlichen Bibliotheken und 
-Programme mit Quelltext liegen meist in Unix-Form vor, 
die in Cygwin problemloser kompiliert. Auch die positiven Unix-Eigenschaften
und Programmvielfalt sind eher in Cygwin als in Mingw zu finden.

Fr Benutzer ist fr den Umgang vor allem Folgendes wichtig:

In der Windows-Eingabeaufforderung verwenden Cygwin EXE und MingW EXE
Programme regulre Windows-Dateipfade mit Backslashes (oder Forward):

d:\dokumente\abc.txt
d:/dokumente/abc.txt

Bei Cygwin EXE in Windows ist auch die Unix-Form erlaubt:
(Mingw EXE mssten hier Laufwerksbuchstaben nehmen)

/d/dokumente/abc.txt              (bei Laufwerksmapping)
/cygdrive/d/dokumente/abc.txt     (sonst)

In der bash-Shell sind keine Backslashes als Verzeichnistrenner erlaubt.

Windows/Mingw-EXE mssen in der Cygwin bash-Shell
Laufwerksbuchstaben c:/ d:/ statt /c /d verwenden.

Cygwin EXE knnen die Form /d/ statt /cygdrive/d/ fr das Laufwerk D:
nur dann benutzen, wenn eine symbolische Verknpfung /d -> /cygdrive/d
im Hauptverzeichnis angelegt wird (Laufwerksmapping).
Z.b. so: "ln -s /cygdrive/d /d"
